package org.dromara.pay.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.tenant.core.TenantEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 充值记录表
 *
 * @TableName zshb_top_up
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "sys_top_up")
@AutoMapper(target = TopUp.class)
public class TopUp extends TenantEntity {
    /**
     * 充值订单号
     */
    @TableId("top_up_id")
    private Long topUpId;
    /**
     * 第三方支付系统生成的订单号
     */
    private String transactionId;
    /**
     * 支付完成时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date successTime;
    /**
     * 订单总金额，单位为元
     */
    private BigDecimal total;
    /**
     * 用户支付金额
     */
    private BigDecimal payerTotal;
    /**
     * 用户支付币种
     */
    private String payerCurrency;
    /**
     * 支付类型 字典值
     */
    private String payWay;
    /**
     * 订单状态 1:未交易  2交易完成
     */
    private String status;
    /**
     * 交易状态
     */
    private String tradeState;
    /**
     * 订单json
     */
    private String orderJson;
    /**
     * 业务订单类型
     */
    private String orderType;
    /**
     * 删除标志    0:存在        2:已删除
     */
    @TableLogic
    private String delFlag;

}
